#!/bin/sh

if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
    exec "meson.real" "$@"
fi

if [ -z "$SSL_CERT_DIR" ]; then
    export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
fi

# If these are set to a cross-compile path, meson will get confused and try to
# use them as native tools. Unset them to prevent this, as all the cross-compile
# config is already in meson.cross.
unset CC CXX CPP LD AR NM STRIP

case "$1" in
setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help)
    MESON_CMD="$1"
    shift
    ;;
*)
    MESON_CMD=setup
    echo meson-wrapper: Implicit setup command assumed
    ;;
esac

if [ "$MESON_CMD" = "setup" ]; then
    MESON_SETUP_OPTS=" \
        --cross-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/${TARGET_PREFIX}meson.cross" \
        --native-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/meson.native" \
        "
    echo meson-wrapper: Running meson with setup options: \"$MESON_SETUP_OPTS\"
fi

exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
    $MESON_CMD \
    $MESON_SETUP_OPTS \
    "$@"
